Article Placements
Frequency:
Article placements data changes are required to be sent in near real-time. Any change to the interface field in the external system should trigger the interface.
Expected data:
Article placements quantities and types in specific stores.
Placement types (identified by placement_type_id) are usually imported separately due to their limited number.
Technical:
If an article placement record does not exist in DSOrder, the record will be created.
If an article placement record already exists in DSOrder, the existing record will be updated with the new data.
Get Article Placements
Method: GET
URL: https://{url}/articles/placement/{date}/{store_id}
Retrieve article placements for a specific store and date.
Path Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| date | string | Yes | Date in format yyyy-mm-dd |
| store_id | string | Yes | Unique store identifier in external system |
Response Body
| Name | Type | Required | Description |
|---|---|---|---|
| article_id | string | Yes | Unique article identifier in external system |
| quantity | number | Yes | Placement quantity |
| type_id | string | Yes | Unique placement type identifier in external system (list of available types must be configured in DSOrder) |
| placement_start | date | Yes | Placement start date in yyyy-mm-dd format |
| placement_end | date | Yes | Placement end date in yyyy-mm-dd format |
Response
200: OK
[
{
"article_id": "ART-00001",
"quantity": 120,
"type_id": "EUR",
"placement_start": "2023-10-15",
"placement_end": "2023-10-31"
},
{
"article_id": "ART-00002",
"quantity": 120,
"type_id": "EUR",
"placement_start": "2023-10-01",
"placement_end": "2023-10-31"
}
]
Import Article Placements
Method: POST
URL: https://{url}/articles/placement
Create or update article placements.
Request Body
The request body is a JSON array of objects.
| Name | Type | Required | Description |
|---|---|---|---|
| article_id | string | Yes | Unique article identifier in external system |
| store_id | string | Yes | Unique store identifier in external system |
| quantity | number | Yes | Placement quantity |
| type_id | string | Yes | Unique placement type identifier in external system (list of available types must be configured in DSOrder) |
| placement_start | date | Yes | Placement start date in yyyy-mm-dd format |
| placement_end | date | Yes | Placement end date in yyyy-mm-dd format |
Request Example
[
{
"article_id": "ART-00001",
"store_id": "STORE-0001",
"quantity": 120,
"type_id": "EUR",
"placement_start": "2023-10-15",
"placement_end": "2023-10-31"
},
{
"article_id": "ART-00002",
"store_id": "STORE-0001",
"quantity": 120,
"type_id": "EUR",
"placement_start": "2023-10-01",
"placement_end": "2023-10-31"
}
]
Response
200: OK — Success
{
"success": true,
"message": null,
"data": null,
"warnings": []
}
200: OK — Error
{
"success": false,
"message": "Placement import failed",
"data": null,
"warnings": []
}
Delete Article Placements
Method: DELETE
URL: https://{url}/articles/placement
Delete existing article placements from DSOrder.
Request Body
The request body is a JSON array of objects.
| Name | Type | Required | Description |
|---|---|---|---|
| article_id | string | Yes | Unique article identifier in external system |
| store_id | string | Yes | Unique store identifier in external system |
| type_id | string | Yes | Unique placement type identifier in external system (list of available types must be configured in DSOrder) |
| placement_start | date | Yes | Placement start date in yyyy-mm-dd format |
| placement_end | date | Yes | Placement end date in yyyy-mm-dd format |
Request Example
[
{
"article_id": "ART-00001",
"store_id": "STORE-0001",
"type_id": "EUR",
"placement_start": "2023-10-15",
"placement_end": "2023-10-31"
},
{
"article_id": "ART-00002",
"store_id": "STORE-0001",
"type_id": "EUR",
"placement_start": "2023-10-01",
"placement_end": "2023-10-31"
}
]
Response
200: OK — Success
{
"success": true,
"message": null,
"data": null,
"warnings": []
}